1. Field of the Invention
The present invention relates generally to an improved data processing system and in particular, to a method and apparatus for managing data. Still more particularly, the present invention relates to a computer-implemented method, apparatus, and computer program product for controlling an update of stored data in a set of data replicas using an arbitration token.
2. Description of the Related Art
Service-Oriented Architecture (SOA) has been used in providing an abstracted and virtualized view of corporate data by means of information services (IS). Information services hide the details associated with the location, structure, and implementation of the various data sources within a given domain and allow the clients to access data in a neutral fashion. The clients and data sources are typically dispersed across various geographies.
In order to ensure high data availability and low response time for information services in such a virtualized and distributed environment, data is often replicated across geographic locations. Many variations of data replication are typically used. The replication configuration that offers the highest amount of data availability and shortest response time involves replicating the same data in various locations and allowing the clients to read from and update to the replica closest to them. Such a replication typically causes data integrity and data accuracy to be compromised. Since many clients are potentially updating the replicas, same data can be potentially updated in parallel, compromising the integrity of the underlying data. Also, when a client reads the data, the client may potentially get stale data if the other clients have updated other replicas and the updated information is not replicated in time to the local replica.
Typical solutions either restrict the type of access allowed at the replicas or restrict the amount of replication allowed. Some solutions allow the data to be updated at the master replica while only allowing read access at the other local replicas. Other solutions permit the clients to read outdated data while providing a capability to make the data current at a specific location within a certain time frame after the data has been updated at another location. Thus, these solutions restrict flexibility.